package com.xydtech.ecard.merchant.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.xydtech.ecard.merchant.domain.EcardBranchEcardChart;
import com.xydtech.ecard.merchant.mapper.EcardBranchSummaryChartMapper;
import com.xydtech.ecard.merchant.service.IEcardBranchSummaryChartService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 电子名片营销汇总统计Service接口实现类
 *
 * @author yuzhiguo
 * @date 2024-11-07 下午4:39
 */
@Service
public class EcardBranchSummaryChartServiceImpl implements IEcardBranchSummaryChartService {

    @Autowired
    private EcardBranchSummaryChartMapper ecardBranchSummaryChartMapper;

    /**
     * 电子名片-我的全部建档拜访数量汇总统计接口
     * @param userId
     * @return
     */
    @Override
    public JSONObject getSummaryStatistics(Long userId) {
        JSONObject statisticsData = new JSONObject();
        List<EcardBranchEcardChart> filingVisitsNums = ecardBranchSummaryChartMapper.getSummaryStatistics(userId);
        statisticsData.put("merchantNum",filingVisitsNums.get(0).getMerchantNum());//建档总数
        statisticsData.put("merchantMonthNum",filingVisitsNums.get(1).getMerchantNum());//本月建档总数
        statisticsData.put("merchantCompareNums",filingVisitsNums.get(1).getMerchantNum() - filingVisitsNums.get(2).getMerchantNum());//建档较上月对比
        if (statisticsData.getLong("merchantCompareNums") >= 0){
            statisticsData.put("compareMerchantType", "1");//较上月建档类型（1：上升，2：下降）
        } else {
            statisticsData.put("compareMerchantType", "2");//较上月建档类型（1：上升，2：下降）
        }
        statisticsData.put("visitSum",filingVisitsNums.get(3).getMerchantNum());//拜访总数
        statisticsData.put("visitMouthSum",filingVisitsNums.get(4).getMerchantNum());//本月拜访总数
        statisticsData.put("visitCompareNums",filingVisitsNums.get(4).getMerchantNum() - filingVisitsNums.get(5).getMerchantNum());//拜访较上月对比
        if (statisticsData.getLong("visitCompareNums") >= 0){
            statisticsData.put("compareVisitType", "1");//较上月拜访类型（1：上升，2：下降）
        } else {
            statisticsData.put("compareVisitType", "2");//较上月拜访类型（1：上升，2：下降）
        }
        return statisticsData;
    }
}
